package com.lonely.order.domain.dto.api;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 查询发货单信息接口 响应参数
 *
 * @author fzzf
 */
@Data
public class QueryDeliverOrderResDTO implements Serializable {

    /**
     * 发货单号
     */
    private String deliverNumber;

    /**
     * 发货单状态
     */
    private Integer deliverStatus;

    /**
     * 发货状态字符串
     */
    private String deliverStatusStr;

    /**
     * 发货尺码明细
     */
    private List<SizeDetail> deliveryInfo;

    /**
     * 发货件数
     */
    private Integer deliveryQty;

    /**
     *
     */
    private String deliverySizeDetails;

    /**
     * 查验（质检）时间
     */
    private String inspectionTime;

    /**
     * 订单编号
     */
    private String produceOrderId;

    /**
     * 入仓收货正品信息
     */
    private String qualityInfo;

    /**
     * 发货原因
     */
    private Integer reason;

    /**
     * 发货原因
     */
    private String reasonStr;

    /**
     * 退货单尺码明细
     */
    private List<SizeDetail> returnInfo;

    /**
     * 退货单尺码明细字符串
     */
    private String returnInfoStr;

    /**
     * 退货单件数
     */
    private Integer returnQty;

    /**
     * 退货单状态
     */
    private Integer returnStatus;

    /**
     * 退货单状态字符串
     */
    private String returnStatusStr;

    /**
     * 退货单时间
     */
    private String returnTime;

    /**
     * 退货单类型
     */
    private Integer returnType;

    /**
     * 退货单类型字符串
     */
    private String returnTypeStr;

    /**
     * 发货时间
     */
    private String sendTime;

    /**
     * 入库尺码明细
     */
    private List<SizeDetail> storeInfo;

    /**
     * 入库尺码明细
     */
    private String storeInfoStr;

    /**
     * 入库时间
     */
    private String storeTime;

    /**
     * 入库数
     */
    private Integer storedQty;

    /**
     * JIT子订单号
     */
    private String subProduceOrderCode;


    /**
     * 尺码明细
     */
    @Data
    public static class SizeDetail implements Serializable {

        /**
         *
         */
        private Integer diffRateValue;

        /**
         * 预估价值
         */
        private Integer forecastValue;

        /**
         * 数量
         */
        private Integer quantity;

        /**
         * 数量区间
         */
        private String quantityInterval;

        /**
         * 尺码名称
         */
        private String sizeName;

    }

}
